package org.pps.gl.client.data;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * Cette classe permet de stocker toutes les informations sur 
 * un utilisateur, coté client.
 *
 */
public class UserInfo implements Serializable {

	private static final long serialVersionUID = -8225892926310436866L;
	private String emailAddress;
	private String lastname;
	private String firstname;
	private String dateNaissance;
	private String sexe;
	private String statut;
	private ArrayList<String> contacts;
	/** ArrayList qui contient toutes les études d'un utilisateur. */
	private ArrayList<EtudeInfo> sesEtudes;
	/** ArrayList qui contient toutes les experiences d'un utilisateur. */
	private ArrayList<ExperienceInfo> sesExperiences;
	/** ArrayList qui contient toutes les news de l'utilisateur */
	private ArrayList<NewsInfo> news;
	/** ArrayList qui contient tous les messages de l'utilisateur */
	private ArrayList<MessageInfo> messages;
	
	public UserInfo() {
		this.emailAddress = null;
		this.lastname = null;
		this.firstname = null;
		this.dateNaissance = null;
		this.sexe = null;
		this.statut = null;
		this.sesEtudes = null;
		this.sesExperiences = null;
	}

	public UserInfo(String email, String firstName, String lastName,
			String dateN, String sexe, String statut,
			ArrayList<EtudeInfo> etudes, ArrayList<ExperienceInfo> experiences) {

		this.emailAddress = email;
		this.lastname = lastName;
		this.firstname = firstName;
		this.dateNaissance = dateN;
		this.sexe = sexe;
		this.statut = statut;
		this.sesEtudes = etudes;
		this.sesExperiences = experiences;
	}

	public String getEmailAddress() {
		return emailAddress;
	}

	public void setEmailAddress(String emailAddress) {
		this.emailAddress = emailAddress;
	}

	public String getLastname() {
		return lastname;
	}

	public void setLastname(String lastname) {
		this.lastname = lastname;
	}

	public String getFirstname() {
		return firstname;
	}


	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}

	public String getDateNaissance() {
		return dateNaissance;
	}

	public void setDateNaissance(String dateNaissance) {
		this.dateNaissance = dateNaissance;
	}

	public String getSexe() {
		return sexe;
	}

	public void setSexe(String sexe) {
		this.sexe = sexe;
	}

	public String getStatut() {
		return statut;
	}

	public void setStatut(String statut) {
		this.statut = statut;
	}

	public ArrayList<EtudeInfo> getSesEtudes() {
		return sesEtudes;
	}

	public void setSesEtudes(ArrayList<EtudeInfo> sesEtudes) {
		this.sesEtudes = sesEtudes;
	}

	public ArrayList<ExperienceInfo> getSesExperiences() {
		return sesExperiences;
	}

	public void setSesExperiences(ArrayList<ExperienceInfo> sesExperiences) {
		this.sesExperiences = sesExperiences;
	}

	/**
	 * @return the contacts
	 */
	public ArrayList<String> getContacts() {
		return contacts;
	}

	/**
	 * @param contacts the contacts to set
	 */
	public void setContacts(ArrayList<String> contacts) {
		this.contacts = contacts;
	}

	public ArrayList<NewsInfo> getNews() {
		return news;
	}

	public void setNews(ArrayList<NewsInfo> news) {
		this.news = news;
	}
	
	public ArrayList<MessageInfo> getMessages() {
		return messages;
	}

	public void setMessages(ArrayList<MessageInfo> messages) {
		this.messages = messages;
	}
}
